home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 278_03 / history.doc < prev    next >
Encoding:
Text File  |  1990-02-13  |  14.8 KB  |  287 lines

  1.  
  2.                            ------------------------
  3.                              CXL Revision History
  4.                            ------------------------
  5.  
  6.  
  7. Version 5.1 - September 1, 1989
  8.  
  9.     o   Extended keyboard support for data entry functions.  Allows you
  10.         to extend and/or remap the keyboard during processing of data entry
  11.         forms.
  12.  
  13.     o   Extended the help system.  You can now specify help window size and
  14.         placement.  The "*P" and "*E" markers in help files can now be
  15.         trailed by whitespace and/or other ASCII characters. You can now
  16.         move between help cross-reference items by pressing the first
  17.         character of the help category you want to move to.  You can now
  18.         push an empty help category (0) onto the help category stack.
  19.  
  20.     o   Improved mouse support in arrow-key emulation mode.
  21.  
  22.     o   Complete CGA snow elimination (rather than just snow reduction) and
  23.         increased CGA display output speed.
  24.  
  25.     o   Improved menuing system.  The menuing functions now handle menus
  26.         with two or more menu items having the same selection character
  27.         better.  You can now close a menu's window before calling an item's
  28.         selection function (not just after).  The taginit value given in the
  29.         wmenuend() function MUST now match a tagid of one of that menu's
  30.         items.  When menu item text descriptions are displayed, they
  31.         automatically clear to the end-of-line (so you don't need to pad
  32.         text desriptions with spaces).  Added a few functions to make
  33.         accessing CXL's menu data structures easier.
  34.  
  35.     o   Improved data entry.  Data entry fields are now processed in their
  36.         definition order rather than automatically left-to-right.  The Up
  37.         and Down arrow keys are now "smarter".
  38.  
  39.     o   Enhanced list picking functions.  By popular demand, the wpickstr()
  40.         and wselstr() functions have had an additional parameter, initelem,
  41.         added to allow specifying the initial position of the selection bar.
  42.         The wpickfile() function now displays subdirectories even when they
  43.         don't match the input filespec.
  44.  
  45.     o   Enhanced the menuing and list picking functions for better operation
  46.         under DESQview.
  47.  
  48.     o   The string trimming functions, strltrim() and strtrim() now trim
  49.         whitespace as well as normal spaces.
  50.  
  51.     o   The wprints() function no longer supports word-wrap.  Use wputs(),
  52.         wprintf(), or another TTY-style window output function instead.
  53.  
  54.     o   The getchf() and wgetchf() functions now disregard the case of
  55.         input letters.  This means instead of having to use "YyNn" for the
  56.         valid choice string, you can use just "YN".
  57.  
  58.     o   Several bug/anomaly fixes.  These include:
  59.         -   In the MSC version, when specifying a drive in the input
  60.             filespec to wpickfile(), it would use that drive letter - 1.
  61.             Thanks to Larry Wasserman.
  62.         -   In the ZTC version, the striinc() and strmatch() functions
  63.             referenced a strnicmp() function, which is not in the standard
  64.             ZTC library and would cause an unresolved reference linker
  65.             error.  This in-turn affected stridel(), strisocc(), and
  66.             strisrep().  Thanks to Larry Marshall.
  67.         -   The strtrim() function could still trim past the start of the
  68.             string if the string was all spaces.  Thanks to Mike Davenport.
  69.         -   The hidecur() function didn't hide the cursor with certain EGA
  70.             video adapters.  Thanks to Ted Roberts.
  71.         -   In winpread(), a mode 2 field wouldn't work as expected if the
  72.             previous field was completely filled.  Thanks to Mike Davenport.
  73.         -   The wmessage() function didn't accurately perform bounds
  74.             checking to make sure that the message would fit in the window.
  75.         -   The wwprints() function didn't translate monochrome attributes
  76.             properly.  Thanks to Bruce Rosner.
  77.         -   The whline() and wvline() functions didn't properly handle count
  78.             values of 0 or 1 properly.  Thanks to Glenn McDonald.
  79.         -   The wpickfile() function could stay in the wrong directory if it
  80.             aborted with a W_NOMATCH error.  Thanks to Joe McLain.
  81.         -   The wpickfile() function could possibly malfunction if used with
  82.             directories that had an extension.  Thanks to Rik Faith.
  83.         -   The _vinfo.dvexist variable was being set to 1 whether or not
  84.             DESQview was actually loaded.  Thanks to Eric Cockrell.
  85.         -   The wmenuicurr() macro-function would not return the correct
  86.             menu item record during the menu item's "before" function.
  87.             Thanks to Tim Ottinger.
  88.         -   The multi-field data entry functions would display the last
  89.             field in the wrong color if its validation function returned
  90.             error. Thanks to Eric Irwin.
  91.         -   Pulldown menu bars could not have 2 submenu-less items in a row.
  92.             Thanks to Daniel Miller.
  93.         -   The 'F' and 'W' format control characters should have allowed a
  94.             colon ':', but didn't.
  95.         -   The cvtfc() function was rounding fractional portion where it
  96.             should have been truncating.
  97.  
  98.     o   Added several new functions.  See CXL.DOC for descriptions.
  99.             cgardbyte()     cgardword()     cgareadn()      cgawrbyte()
  100.             cgawriten()     cgawrstr()      cgawrword()     chgonkey()
  101.             freonkey()      setvparam()     strbtrim()      strdela()
  102.             stridela()      strischg()      strschg()       vidmode()
  103.             wbprintc()      wdrag()         wgetyn()        whelppcat()
  104.             whelpundef()    whelpwin()      winpkey()       wmenuidsab()
  105.             wmenuienab()    wmenuinext()    wslide()        wunlink()
  106.  
  107.     o   The CXL library is no longer available for Power C.  Power C's lack
  108.         of conformance to the Microsoft .OBJ format has become too difficult
  109.         to support.  CXL version 5.0 will still be shipped to those
  110.         requesting a Power C version.
  111.  
  112.  
  113. Version 5.0 - March 27, 1989
  114.  
  115.     o   Complete context-sensitive help system.  Help information can
  116.         contain multiple pages of help text per category and can be
  117.         cross-referenced for flexibility and indexed for speed.
  118.  
  119.     o   Shadowed windows.  Windows can now have shadows.  These shadows can
  120.         be translucent so that they show the characters underneath.
  121.  
  122.     o   The menuing functions have been significantly enhanced.  Individual
  123.         menu items can have sub-menus and/or functions tied into them.
  124.         Pull-down and other multi-level menus are much easier to create.
  125.         Individual menu selections can also be defined as nonselectable.
  126.         Menu items can also have global hot keys.  Menu items can have
  127.         "before" and "after" functions.  Mouse support in menus has been
  128.         expanded.
  129.  
  130.     o   The multi-field input functions have been significantly enhanced.
  131.         They now properly support numeric data entry.  Also, the behavior of
  132.         several of the editing keys has been enhanced.  A conditional update
  133.         mode has been added.  Input fields can have "before" and "after"
  134.         functions.  True Insert mode has been added.
  135.  
  136.     o   Scrolling bar string picker allows you to create variable-sized
  137.         "menus" of strings to pick from.  Features mouse support including
  138.         scroll bars.
  139.  
  140.     o   File picker with same features as string picker.  Allows movement
  141.         between directories.  Similar to the file pickers included in the
  142.         Turbo C and QuickC environments.
  143.  
  144.     o   The window TTY output string functions, such as wputs() and
  145.         wprintf(), are now able to change colors, set cursor coordinates,
  146.         and erase part or all of the window, using CXL's new window Escape
  147.         sequences.  These are similar to ANSI Escape sequences, but are much
  148.         faster.
  149.  
  150.     o   You are now able to write to blocked and hidden windows.
  151.  
  152.     o   Automatic monochrome attribute translation.  By default, if a
  153.         monochrome adapter is detected by videoinit(), all color attributes
  154.         will be mapped to their monochrome equivalents.  This can be
  155.         overridden via a switch.
  156.  
  157.     o   CGA snow reduction has been put back into CXL.  This is selectable
  158.         via a global variable.  Thanks to Patrick Bennett and Larry Kruse.
  159.  
  160.     o   All video functions now work properly in nonstandard text modes
  161.         such as 132x80 and 120x43.
  162.  
  163.     o   The video adapter identifiers (CGA, EGA, etc.) are now prefixed with
  164.         a "V_" to avoid conflicts with Borland's BGI definitions.  Also, a
  165.         few new video adapter identifiers were added.
  166.  
  167.     o   There are now 4 different types of mouse support provided including
  168.         a point-and-shoot mouse cursor as well as arrow-key emulation.
  169.  
  170.     o   Mouse functions have been modified to use actual row and column
  171.         cursor coordinates rather than X and Y pixel coordinates.  This
  172.         makes working with the mouse cursor much easier.
  173.  
  174.     o   Internal keyboard buffer and support functions.  This allows you to
  175.         create keyboard scripts, force user input, etc., by "stuffing"
  176.         keystrokes into CXL's internal keyboard buffer.
  177.  
  178.     o   File encryption and decryption.  Allows fast encryption and
  179.         decryption of text and binary files.  Thanks to Bob Stout.
  180.  
  181.     o   Problems fixed.
  182.         -   The video functions were working under DESQview on some
  183.             machines, but not others.  Thanks to Jim Nutt.
  184.         -   The setlines() function was not returning to 25-line mode from
  185.             VGA 50-line mode properly.  Thanks to Larry Kruse.
  186.         -   The wunhide() function was unhiding the most recently hidden
  187.             window, regardless of the given window handle.  Thanks to Joshua
  188.             Stern.
  189.         -   The strtrim() function could trim past the start of the string
  190.             if the string was all spaces.  Thanks to Curt Grimley.
  191.         -   The whline() function would not function properly when drawing
  192.             on window row 0 of a borderless window starting on screen row 0.
  193.             Thanks to Ted Roberts.
  194.         -   A certain error condition in wopen() could cause it to return
  195.             without restoring memory it allocated.  Thanks to Nelson
  196.             Chenkin.
  197.         -   The tab character, when used in window TTY output functions, was
  198.             advancing the cursor to the next tab column offset from the
  199.             screen, not from window column 0.
  200.         -   In the systime() function, time codes 2 thru 4 would cause a
  201.             return of "00" for hour during the midnight hour.  Now they
  202.             return "12".
  203.  
  204.     o   New functions.  See CXL.DOC for descriptions.
  205.             cclrscrn()      cvtcf()         cvtci()         cvtfc()
  206.             cvtic()         cxlver()        fcrypt()        getcursz()
  207.             hidecur()       kbclear()       kbmhit()        kbput()
  208.             kbputs()        lgcursor()      mapattr()       msbclear()
  209.             mscondoff()     mssupport()     randfile()      revsattr()
  210.             scancode()      showcur()       smcursor()      strchksum()
  211.             strichksum()    strisocc()      strisrep()      strljust()
  212.             strrjust()      strsocc()       strsrep()       wchkbox()
  213.             wchkcol()       wchkcoord()     wchkrow()       wdump()
  214.             wdups()         wfillch()       whelpcat()      whelpclr()
  215.             whelpdef()      whelpop()       whelpopc()      whelpush()
  216.             whelpushc()     windowat()      windump()       winpbeg()
  217.             winpfba()       winpfcurr()     winpffind()     wmenubeg()
  218.             wmenubegc()     wmenuend()      wmenuiba()      wmenuicurr()
  219.             wmenuifind()    wmenuitem()     wmenuitxt()     wmenumcurr()
  220.             wpickfile()     wpickstr()      wprintsf()      wputsw()
  221.             wscrollbox()    wselstr()       wshadoff()      wshadow()
  222.             wtabwidth()     wwprints()
  223.  
  224.     o   Modified functions.  See CXL.DOC for descriptions.
  225.             msbpress()      msbreles()      msgotoxy()      mshbounds()
  226.             msmotion()      msstatus()      msvbounds()     setonkey()
  227.             strins()        strsetsz()      videoinit()     whline()
  228.             winpdef()       wmenuget()      wtitle()        wunhide()
  229.             wvline()
  230.  
  231.     o   Deleted functions.  The string selection functions, wsseldef() and
  232.         wsselget(), were deleted because their operation can now be emulated
  233.         using the new wselstr() function.  The wsbounds() function was
  234.         deleted because the new wscrollbox() function allows you to scroll
  235.         specific regions of the window.
  236.  
  237.     o   There are several new global variables, so to avoid possible name
  238.         conflicts, and to organize them better, I grouped the old and new
  239.         globals under new structure-type global variables.  See CXL.DOC for
  240.         descriptions of these new structure-type global variables.
  241.             struct _kbinfo contains _kbloop, _kbuf, and _onkey.
  242.             struct _vinfo  contains _dvcheck, _vbios, and _videoseg.
  243.             struct _winfo  contains _werrno, _wesc, _whandle, _whrec,
  244.                                     _wrec, and _wtotal.
  245.  
  246.  
  247. Version 4.1 - September 4, 1988
  248.  
  249.     o   Support for Mix Power C has been added.
  250.  
  251.     o   Complete BIOS video support has been added.  This will also serve
  252.         as a temporary solution to the problem with the CGA snow reduction
  253.         in CXL 4.0.
  254.  
  255.     o   The window hiding/unhiding functions are now high level (use
  256.         handles, not pointers).  This makes the hiding and unhiding of
  257.         windows much easier.
  258.  
  259.     o   The internal mouse support has been enhanced.  Mouse movement is
  260.         smoother and there are no longer mouse "boundaries".  Mouse button
  261.         presses can no longer be queued.
  262.  
  263.     o   Problems fixed.
  264.         -   Menuing and data entry functions weren't being properly
  265.             supported on single line borderless windows.  Thanks to Mark
  266.             Hall.
  267.         -   The setkbloop() function was not working properly on systems
  268.             without a mouse because of a bug in getxch().
  269.         -   In sysdate(), date codes 3 & 4 were returning the same result.
  270.             Thanks to Michael Hackman.
  271.         -   In systime(), time codes 2 & 3, the AM/PM indicator was not
  272.             being changed from AM to PM until 1:00 PM.  Thanks to John
  273.             Metzker.
  274.  
  275.     o   Modified functions.  See CXL.DOC for descriptions.
  276.             cvaltype()      whide()         wunhide()
  277.  
  278.     o   Deleted functions.  These functions were deleted because their roles
  279.         have been assumed by other functions.
  280.             boxd()          filld()         printcd()       printsd()
  281.  
  282.  
  283. Version 4.0 - July 27, 1988
  284.  
  285.     Initial release of CXL.
  286.  
  287.